home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d8 / qmqmpc34.arc / PCBOARD.DOC < prev    next >
Text File  |  1990-09-20  |  21KB  |  478 lines

  1.  
  2.  
  3.                            file:  PCBOARD.DOC
  4.                            ------------------
  5.                              by Brad Berson
  6.                                 09/18/90
  7.                                   v3.4
  8.  
  9.                   "Brief" documentation on PCBOARD.SCR
  10. the Generic PCBoard ProLogon Qmodem Qmail PCBud Fully Automatic Script
  11.  
  12.  
  13. First and foremost...
  14. ---------------------
  15.  
  16. Don't worry if this document occasionally seems to lapse into rambling
  17. incomprehensibility.  I write most of this stuff late at night, and I
  18. hate writing any documentation I can't smoke.
  19.  
  20.  
  21. What the heck is all this, anyway?
  22. ----------------------------------
  23.  
  24. This is "brief" documentation.  That doesn't mean I'm writing about my
  25. shorts.  I'm just assuming you already know what Qmail and scripts are,
  26. so I don't have to go through it all.  PCBOARD.SCR is a script file for
  27. Qmodem SST, version 4.2.  If you are still using 3.1a or 4.1b, there's
  28. no reason not to upgrade to 4.2.  Do it, and do it now!  This script
  29. won't work with 4.1b unless extra script mmeory is allocated and other
  30. changes are made.
  31.  
  32. PCBUD is a script generator for Qmodem.  You provide it with names and
  33. descriptions of files you wish to upload/download, and it produces a
  34. script for Qmodem with all the commands necessary for hands-off up- and
  35. downloading files.  Chuck Seyboldt is responsible for PCBUD202.ZIP.
  36.  
  37. The main idea behind this script is to avoid littering your disk with
  38. zillions of little script files for every BBS you call.  All of us who
  39. have 100 entries in our Qmodem phone directory and an automatic script
  40. generator know full well how quickly your disk's free space dwindles to
  41. zilch.  This script is designed to allow automated logon and use of
  42. nearly any PCBoard BBS.
  43.  
  44.  
  45. What exactly does this all do?
  46. ------------------------------
  47.  
  48. When dialing into a PCBoard BBS that does not use QwikMail, this script
  49. will provide automated log-on and will return control to you when the
  50. regular PCBoard command prompt is reached.  If you have been auto-joined
  51. into a conference at log-on, the script will automatically (A)bandon the
  52. conference. This was included mostly for the QwikMail end of things.
  53. QwikMail is accessed through a 'DOOR' out of the BBS, and the number of
  54. the QwikMail DOOR is not always the same from one BBS conference to
  55. another.  Starting out in the same ("main") conference all the time
  56. assures that you open the correct DOOR.
  57.  
  58. When dialing into a PCBoard BBS that is equipped with QwikMail, this
  59. script will then open the QwikMail DOOR, download all the new messages
  60. and upload any replies that you may have prepared from a previous
  61. off-line QwikMail session.
  62.  
  63. The script will also look for and execute a script generated by PCBud.
  64. Before issuing the (G)oodbye command to the BBS, a 10 second delay is
  65. employed, to give you a chance to interrupt the script and remain
  66. on-line.  In fact, between all major sections of the script there are
  67. brief delays to allow interruptions or typing.
  68.  
  69. This script may seem comprehensive, but it doesn't account for every
  70. possible permuation of unusual events.  It tries to handle most of the
  71. important things.  If you think I missed something, let me know.
  72.  
  73.  
  74. The inner workings...
  75. ---------------------
  76.  
  77. Upon a successful connection from dialing (Alt-D):
  78.  
  79. *  The welcome screen is checked to see if ProLogon or PCboard is
  80.    being used.  I like to take advantage of the time-saving speed
  81.    logon available in ProLogon.
  82.  
  83. *  Comparison is made to check if the BBS is a QwikMail BBS, using
  84.    the name in the dial directory.
  85.  
  86. *  If the BBS is a QwikMail BBS, variables are set for later use,
  87.    indicating the door number for QwikMail (qmdn) and the transfer
  88.    protocol and the name of the .QWK file to be downloaded (and
  89.    .REP file to be uploaded).  Then a test is made for the existence
  90.    of .QWK and .REP files for that BBS and a flag set as necessary.
  91.  
  92. *  A test is made for a PCBud script and a flag set accordingly.
  93.    UD.SEG will be tested if no special entry for the board exists
  94.    in PCBOARD.SCR.  Otherwise, UD??.SEG where ?? is the two-letter
  95.    designation will be tested.
  96.  
  97. *  The screen is cleared and a sign-on message indicating the
  98.    connect parameters and the BBS name is displayed.
  99.  
  100.    If you seem to have trouble with the script recognising QwikMail
  101.    BBS's, make note of the exact formatting of the BBS name between
  102.    the "-><-".  Trailing spaces can trip you up here, and having an
  103.    apostrophe in the BBS name can blow up everything.
  104.  
  105. *  The usual logon questions are answered - language, graphics,
  106.    name (edited into the script), password (from the dialing dir).
  107.    If ProLogon was detected the time-saving speed-logon is used.
  108.  
  109. *  If the "user not found" message appears, a "c" is sent for
  110.    "(C)ontinue to register" and control is returned to the operator.
  111.    If a password exists in that dialing directory entry it will be
  112.    used to register you.
  113.  
  114.    The script will re-enter your name and password twice before
  115.    giving up and registering you as a new user, to allow for line
  116.    noise or lost characters affecting script operation.
  117.  
  118. *  If a conference has been auto-joined, it is abandoned.  This is
  119.    done because many boards do not have the same doors available
  120.    in the conferences as they do in the main boards/conferences.
  121.  
  122. *  If the BBS is detected as being a QwikMail BBS, the QwikMail
  123.    handler is started.
  124.  
  125.    If the QwikMail up/downloading flag is set to <N>either, the script
  126.    does not bother opening the QwikMail door.  Otherwise, the door is
  127.    opened and the packet uploading and downloading is done.
  128.  
  129. *  If there is still a .QWK file in the QMAIL directory for the BBS
  130.    you are connected to, the script will not download a new packet.
  131.    Otherwise a new packet will be downloaded.  Two reasons: preventing
  132.    the loss of a wanted packet by overwriting it, and to provide a neat
  133.    mechanism for automatically avoiding downloading a new packet while
  134.    in the script.  You can fake it out by having any file in the Qmail
  135.    directory with the name filename.QWK.
  136.  
  137. *  If there is a .REP file in the QMAIL directory for the BBS you
  138.    are connected to, it is uploaded.
  139.  
  140. *  After uploading a .REP file the screen is polled for " successful"
  141.    to determine the successful upload of the packet.  The .REP file is
  142.    deleted after a successful upload.  If the .QWK file presently on
  143.    disk wasn't just downloaded (that is, associated with the deleted
  144.    .REP), then it too is deleted.
  145.  
  146. *  If UD??.SEG exists it is executed after returning to PCboard, so
  147.    file transfers may be performed.  If CONFER.SCR exists, it will be
  148.    executed just before UD??.SEG.  This was intended as a way to join
  149.    special or restricted conferences before uploading or downloading,
  150.    and can be used for other purposes as well.  See example CONFER.SCR
  151.  
  152. *  Once UD??.SEG has completed the UD??.SEG file will be renamed to
  153.    UD??.BAK.  Any previous UD.BAK is first deleted.  Re-using a .SEG
  154.    file is as easy as "REN UD??.BAK UD??.SEG".  Change the ?? as
  155.    appropriate if using for another board.
  156.  
  157. *  If you were signed onto a QwikMail board but no mail was transferred
  158.    due to an existing .QWK file and no .REP file, and if UD??.SEG did
  159.    not exist, it will be assumed that you want control returned to you.
  160.  
  161. *  Otherwise, the count-down to logoff is performed and the connection
  162.    subsequently terminated.
  163.  
  164.  
  165. In short (sort of)...
  166. ---------------------
  167.  
  168. The script is controlled mostly by what files happen to be lying around.
  169. In the case of BBS's set up for QwikMail:
  170.  
  171. BBSNAME.QWK    BBSNAME.REP    BBSNAME.QWK    UD??.SEG       BBSNAME.QWK
  172. BBSNAME.REP    UD??.SEG       UD??.SEG
  173. UD??.SEG
  174. -----------------------------------------------------------------------
  175. no qmail d/l   qmail d/l      no qmail d/l   qmail d/l      no qmail
  176. qmail u/l      qmail u/l      no qmail u/l   no qmail u/l   no xfers
  177. file xfers     file xfers     file xfers     file xfers     stay online
  178. auto logoff    auto logoff    auto logoff    auto logoff
  179.                                              +--------------------------
  180. BBSNAME.REP    BBSNAME.REP    no             |With BBS's not set up for
  181. BBSNAME.QWK                   files          |Qmail, existence of *.SEG
  182. ------------------------------------------   |will start file xfers and
  183. no qmail d/l   qmail d/l      qmail d/l      |auto-logoff.  Otherwise,
  184. qmail u/l      qmail u/l      no qmail u/l   |the script will leave you
  185. no xfers       no xfers       no xfers       |on-line
  186. auto logoff    auto logoff    auto logoff    +--------------------------
  187.  
  188. The script tries to delete REP files after they've been uploaded and
  189. renames the *.SEG file to *.BAK, so just the QWK files are up to you.
  190.  
  191.  
  192. What do I have to do now?
  193. -------------------------
  194.  
  195. You don't use QwikMail or offline readers?  Then you don't have to do a
  196. single thing, except maybe delete the lines in PCBOARD.SCR that try to
  197. identify the BBS you are using for Qmail.  Just type PCBOARD.SCR in the
  198. "attached script" field of your dial directory entries.
  199.  
  200. The automated Qmail feature does not come without some work to get it
  201. all going.  The first thing you should do is make a printout of the
  202. PCBOARD.SCR file.  Much of what you need to know or to find out is
  203. already in there.  Look at the script carefully so that you understand
  204. most of what it's doing.  Some of the logic may seem warped due to the
  205. inflexible script language.  A copy of the Qmodem SST documentation will
  206. also help.  Read the comments carefully.  And I cannot stress the next
  207. recommendation enough:  READ ALL THE DIRECTIONS for this script, Qmodem
  208. scripts and PCBud.
  209.  
  210. The first thing you should do is edit your own particulars into the
  211. PCBOARD.SCR file.  Your own name should be edited into the script, as
  212. well as the directory specification for your QwikMail files and reader.
  213. Make sure PCBud leaves its UD??.SEG file in the directory that Qmodem
  214. has been configured to look for scripts in.  The variables here are
  215. 'name' and 'qdir.'
  216.  
  217. Next, start up Qmodem SST and edit your phone directory to specify this
  218. PCBOARD.SCR file next to all PCBoard BBSs in your directory.  Also edit
  219. your phone directory to include the respective passwords for each BBS.
  220. Using Alt-N/D/S, make sure Qmodem can find where you put your scripts.
  221.  
  222. Once you have gotten this far, you can dial into your PCBoard BBSs and
  223. lean back to watch fully automated log-ons.  It's Willer time...
  224.  
  225.  
  226. But what about QwikMail???
  227. --------------------------
  228.  
  229. If you live in or around New York City, most of the dirty work has been
  230. done already.  Otherwise, you will need to know the number of the DOOR
  231. used to access QwikMail for each individual QwikMail BBS.  You will also
  232. need to know the filename that each QwikMail BBS uses for its respective
  233. QwikMail upload and download packets.  You can find this out when you
  234. log onto a QwikMail BBS, open the QwikMail door, and configure the
  235. QwikMail system for yourself.
  236.  
  237. The Qmail-3/4 door has configuration options for extended and delayed
  238. script prompts. These are not required.  This script has been designed
  239. to work without special prompts.
  240.  
  241. Armed with all this knowledge, edit the script starting where the lines
  242. read 'IF "$board" = '.  This is how the script knows whether you are
  243. using a QwikMail-capable BBS or not.  These lines compare the dialing
  244. directory information.  Thus, the comparisons should match your dialing
  245. directory entries EXACTLY.  Trailing spaces can screw things up, so make
  246. sure to go into the dialing directory and check that the Qmail board
  247. entries don't have trailing spaces after the name.
  248.  
  249. The variable 'qmdn' is the DOOR number to be used for QwikMail, and
  250. 'qbbs' is the filename for the QwikMail packets.  Make sure that each
  251. target of a successful comparison has the line 'GOTO STRT1'.  You can
  252. add as many comparisons as you need, following the same logic as shown
  253. in the script.  Just pick a new label.  Example:
  254.  
  255. Add the comparison:    IF "$board" = "Sleepy Hollow BBS" HOLLOW
  256. Add the code block:    HOLLOW:
  257.                        ASSIGN qbbs "SLEEPY"    ; this is correct
  258.                        ASSIGN udid "SH"        ; for PCBud
  259.                        ASSIGN qmdn "5"         ; door # here may not be!
  260.                        ASSIGN spro "Z"         ; zmodem to be used
  261.                        GOTO STRT1
  262.  
  263. The script will look for the file UD.SEG if handling a board that is
  264. not tested in the script.  If you want a non-Qmail board to work with a
  265. UD??.SEG file instead of looking for the filename UD.SEG, make an entry
  266. for that board and simply leave out the assignments for 'qbbs', 'spro',
  267. and 'qmdn'.  Example:
  268.  
  269. Add the comparison:    IF "$board" = "My BBS" MYBBS
  270. Add the code block:    MYBBS:
  271.                        ASSIGN udid "SH"        ; for PCBud
  272.                        GOTO STRT1
  273.  
  274. The section of PCBOARD.SCR for identifying Qmail boards is separated
  275. by dotted lines for easy identification.  When upgrading the script
  276. (assuming no drastic changes have been made to the script logic) you
  277. can simply "cut-and-paste" everything between the lines.
  278.  
  279.  
  280. There's more?
  281. -------------
  282.  
  283. To use the Ymodem protocol (aka Xmodem-1K), just use the appropriate
  284. letter for the variable(s) $spro - "O".  To use Qmodem's new internal
  285. Zmodem use "Z", or you can still use DSZ installed as an external
  286. protocol.  Since my up/download directories are not the same as my
  287. Qmail directory, I installed Zmodem for regular upload- and down-
  288. loading as "Z", and as "Q" for the Qmail directory.
  289.  
  290.  
  291.              ═════ Setup Menu ══════════════════
  292.              Host *   Protocols *   Files    O
  293.              ═════╒═══════════════════╕═════════        (Isn't Desqview's
  294. Make this "Z" --> │ 0 -  DSZ Zmodem   │                  cut-and-paste
  295. Make this "E" --> │ 1 -  DSZ Recovery │                  wonderful?!)
  296.                   │ 2 -  DSZ Qmail    │
  297.                   ╒═════════════════════════════════╕
  298.                   │ Select character   Q            │
  299.                   │ Protocol           DSZ Qmail░░░ │
  300.                   │ Upload BAT         QSZ.BAT░░░░░ │
  301.                   │ Download BAT       QRZ.BAT░░░░░ │
  302.                   │ Filename Prompt    N            │
  303.                   ╘══════════════════════════F1 Help╛
  304.  
  305. This is how your Qmodem external protocol setup might look like.
  306. (Your DSZ parameters may need to be different!)
  307.  
  308. QRZ.BAT contains:
  309.  
  310. ECHO OFF
  311. CLS
  312. ECHO %0 - Qmodem Q protocol - Zmodem receive for Qmail use
  313. CD \COMM\QMAIL
  314. C:\COMM\DSZ port %2 handshake both pB8192 rz C:\COMM\QMAIL
  315.  
  316. QSZ.BAT contains:
  317.  
  318. ECHO OFF
  319. CLS
  320. ECHO %0 - Qmodem Q protocol - Zmodem send for Qmail use
  321. CD \COMM\QMAIL
  322. C:\COMM\DSZ port %2 handshake both pB8192 sz %4
  323.  
  324.  
  325. Just some notes:
  326. ----------------
  327.  
  328. Are you using the Sparkware QwikMail Reader you downloaded from the BBS?
  329. Yeah, seems kinda clunky, doesn't it?  You downloaded an old version.
  330. The Sparkman has issued a DemoWare version of the Deluxe2 Reader, so you
  331. can try before you buy.  The Deluxe reader is still a commercial product,
  332. but a fine one nonetheless.  You can download Eric Cockrell's EZ-Reader
  333. and get almost complete functionality immediately.  I think EZ-Reader is
  334. a much better product, too.  Whatever you settle on, register it.  Please
  335. do your part to support shareware.
  336.  
  337. All the files you need are from the Qmail or EZ-Reader programs,
  338. PCBUD202 and of course PCBOARD.SCR and all the Qmodem SST files.  I've
  339. included Chuck's PCBUD program for simplicity.  The files in this
  340. archive are:
  341.  
  342.         PCBOARD.SCR     The QModem PCboard ProLogon QMail PCbud script.
  343.         PCBOARD.DOC     You're reading it!
  344.         PCBUD202.COM    PCBud executable progam.
  345.         PCBUD202.DOC    Documention for PCBud.
  346.         PCBUD202.PAS    Turbo Pascal source code for PCBud.
  347.         CONFER.SCR      Example conference-joining script.
  348.         DBBS.SCR        A bonus!  This is for dBBS logons.
  349.  
  350. If this helps avoid some confusion in the script file, or to organise
  351. your own system, the way my system directories are set is:
  352.  
  353.         C:\COMM                 Qmodem and other comm. related programs
  354.         C:\COMM\UPDOWN          Upload and download files
  355.         C:\COMM\SCRIPTS         Script (.SCR) files and PCBud program
  356.         C:\COMM\QMAIL           EZ-Reader Qmail reader program files
  357.                                 - also destination for Qwikmail packets
  358.  
  359.  
  360. Other notes:
  361. ------------
  362.  
  363. Warning:  Some versions of Chuck Forsberg's DSZ only accept a pathname
  364. on the command line in copies registered via the PUTSNP program.  The
  365. workaround is to "CD" to the directory and just use a filename without
  366. a path specification.  Certain versions will abort inexplicably due to
  367. this usage - later versions explain the error.
  368.  
  369. While "QwikMail" is used consistently through this document, this script
  370. is compatible with MarkMail as well as all current versions of QwikMail.
  371. Your reader program may be the Shareware Qmail reader, the "commercial"
  372. Qmail Deluxe or (my preference) Eric Cockrell's Shareware EZ-Reader.
  373.  
  374. You don't like the way the script handles things like file renaming or
  375. deletion?  Fine.  Feel free to edit the script.  The language is nearly
  376. self-explanatory.  You can disable lines simply by inserting semicolons
  377. before them.  You're familiar with DOS commands by now, so they're easy
  378. enough to change to.  The ">NUL" in the DOS lines are so you don't have
  379. to see messages from DOS while the script is doing its thing.
  380.  
  381. Known problems:  The PCBud scripts need one or two small tweaks.  It
  382. looks for "Aborts Transfer" to begin a file transfer, but some PCBoards
  383. send "Aborts the Transfer" instead.  The source can always be edited and
  384. recompiled to look just "Aborts ".  And the newest PCboard's multiple
  385. filename descriptions hang the script.  Editing in an extra 'CR' to be
  386. sent after the description cures it (append a "^M").  Also, it doesn't
  387. seem to reliably detect when a filename has not been found.  But heck,
  388. you've got the source code!
  389.  
  390. All this stuff works for me, tested mostly on boards local to New York
  391. City.  It's pretty reliable but nothing in the world is guaranteed,
  392. which brings me to...
  393.  
  394. If you have any suggestions or comments please leave them addressed to 
  395. BRAD BERSON on the Sound of Music BBS (516) 536-8723 or the Invention
  396. Factory BBS (212) 431-1273.  I can also be reached through Compuserve 
  397. EasyPlex at [71631,132].  Another good way to reach me is by leaving
  398. me a message on the International Qmodem support BBS echo.  There you
  399. can find the Qmodem author, John Friel, and many knowledgable Qmodem
  400. users, supporters and enthusiasts to answer your questions and give you
  401. the latest news about Qmodem SST!
  402.  
  403. You can send me money, gold, titles to cars and homes, 80486 systems,
  404. OS/2 software, expensive consumer electronics, yuppie furniture, rare
  405. art, exotic motorcycles and young, attractive HIV-negative women at
  406. Capital Cities/ABC-TV, Inc., 47 West 66th Street, New York, NY  10023.
  407.  
  408.  
  409. You thought I forgot to include what changed...
  410. -----------------------------------------------
  411.  
  412. *  This is almost totally rewritten!  Less filling!  Tastes great!
  413.  
  414. *  PROLOGON.SCR is history, functions now integrated.
  415.  
  416. *  Speed logon is handled better, routing directly to Qmail door.
  417.  
  418. *  No longer quits door before logoff.
  419.  
  420. *  Password on door exit and logoff questionnaire handlers fixed.
  421.  
  422. *  Supports MarkMail, Qmail-2 and Qmail-3.
  423.  
  424. *  My proofreader's on strike but I used a sperling checker.
  425.  
  426. *  I'm making believe I have a sense of humour.
  427.  
  428. *  Detection of successful REP uploads independant of protocol.
  429.  
  430. *  Also deletes QWK file along with REP file.
  431.  
  432. *  Renaming of used UD.SEG to UD.BAK (previous UD.BAK overwritten).
  433.  
  434. *  Count-down at logoff timing is corrected.
  435.  
  436. *  I'm still trying to make an Epson MX-80 into a rolling machine.
  437.  
  438. *  I still haven't found a source for continuous-form EZ-widers.
  439.  
  440. Version 3.1:
  441.  
  442. *  Beeps at logoff, and keeps beeping/trying if can't drop carrier.
  443.  
  444. *  New users into ProLogon fixed up.
  445.  
  446. *  Assumes PCboard if can't decide which.
  447.  
  448. *  Fixed script stopping with "graphics mode off".
  449.  
  450. *  Fixed Qmail-2 skipping empty packets when not scanning new files.
  451.  
  452. *  One-keystroke interruptable countdowns between routines.
  453.  
  454. *  Fixed DBBS.SCR for when error-correcting modems eat its welcome.
  455.  
  456. *  Changed logic in numerous places for absolutely no reason at all.
  457.  
  458. Version 3.4:
  459.  
  460. *  Skipped a few version numbers during Qmodem 4.2 beta cycle.
  461.  
  462. *  Found I can print psychedelic rolling paper on an LQ-2550.
  463.  
  464. *  Qmodem 4.2 now dynamically allocates script memory!
  465.  
  466. *  4.2 also appends trailing backslashes to path variables.
  467.  
  468. *  Update your DSZ batch files so %3 is %4 now.
  469.  
  470. *  I'm using PCBud's two-letter BBS designations now.
  471.  
  472. *  Still more totally arbitrary changes in logic.
  473.  
  474. ***********************************************************************
  475. **  Smoking this documentation has been known to cause sudden death  **
  476. **  in laboratory ani ;askdffffffffffffffffffffffffffffffffffffffffffff
  477.  
  478.